package com.project.system.domain.entity;

import com.project.common.domain.po.DbBase;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author : [chg]
 * @className : Order
 * @description : []
 * @createTime : [2025/7/9 10:49]
 */
//@Entity
@Data
@Table(name = "tb_container_order")
@org.hibernate.annotations.Table(appliesTo = "tb_container_order", comment = "集装箱订单")
public class Order extends DbBase {
    @Column(columnDefinition = "bigint DEFAULT NULL COMMENT '集装箱ID'")
    private Long containerId; // 关联集装箱ID
    @Column(columnDefinition = "varchar(100) DEFAULT NULL  COMMENT '批次号'")
    private String batchNo; // 批次号
    @Column(columnDefinition = "varchar(100) DEFAULT NULL  COMMENT '客户单号'")
    private String customerOrderNo; // 客户单号
    @Column(columnDefinition = "varchar(100) DEFAULT NULL  COMMENT '参考单号'")
    private String referenceNo; // 参考单号
    @Column(columnDefinition = "varchar(1000) DEFAULT NULL  COMMENT '参考单号'")
    private String productName; // 品名
    @Column(columnDefinition = "int DEFAULT NULL COMMENT '件数'")
    private Integer quantity; // 件数
    @Column(columnDefinition = "decimal(10,2) DEFAULT NULL COMMENT '重量'")
    private BigDecimal weight; // 重量
    @Column(columnDefinition = "decimal(10,2) DEFAULT NULL COMMENT '体积'")
    private BigDecimal volume; // 体积
    @Column(columnDefinition = "varchar(1000) DEFAULT NULL  COMMENT '收货人'")
    private String consignee; // 收货人
    @Column(columnDefinition = "decimal(10,2) DEFAULT NULL COMMENT '代收货款'")
    private BigDecimal collectionAmount; // 代收货款
    @Column(columnDefinition = "int DEFAULT NULL COMMENT '是否免费区域（0-否，1-是）'")
    private Integer freeArea; // 是否免费区域
    @Column(columnDefinition = "int DEFAULT 0 COMMENT '订单状态（0-待处理，1-待自提，2-已预约，3-配送中，4-已扣货，5-已完成）'")
    private Integer orderStatus; // 订单状态
    @Column(columnDefinition = "datetime DEFAULT NULL COMMENT '完成时间'")
    private LocalDateTime appointmentTime; // 预约时间
    @Column(columnDefinition = "varchar(100) DEFAULT NULL  COMMENT '配送单号'")
    private String deliveryNo; // 配送单号
    @Column(columnDefinition = "datetime DEFAULT NULL COMMENT '配送时间'")
    private LocalDateTime deliveryTime; // 预约时间
    @Column(columnDefinition = "datetime DEFAULT NULL COMMENT '完成时间'")
    private LocalDateTime finishTime; // 完成时间
    @Column(columnDefinition = "int DEFAULT 0 COMMENT '排序 置顶排序码 999 '")
    private Integer sort; // 排序
    @Column(columnDefinition = "int DEFAULT 0 COMMENT '是否删除（0-否，1-是）'")
    private Integer delFlag;

}
